{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二次练习\n",
    "\n",
    "+ 请**务必**交到**exer2**文件夹下，谢绝交到master下\n",
    "+ 请**不要改动**任何文件，拜托\n",
    "+ 请在10月16日前提交。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 食物和热量\n",
    "\n",
    "已知，以下食物每100g的千卡路里如下：\n",
    "\n",
    "小米粥 45  \n",
    "粗粮馒头 223  \n",
    "全麦面包 235  \n",
    "瘦猪肉 143  \n",
    "鸡翅 194  \n",
    "培根 181  \n",
    "火腿肠 212 \n",
    "\n",
    "建立一个空的字典，把上述键值对依此添加进去。 \n",
    "通过循环形式，显示，如“我吃了二两”+“小米粥”，“增加了”+“45”千卡路里。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "我吃了二两 小米粥\n",
      "增加了 90千卡路里\n",
      "\n",
      "我吃了二两 粗粮馒头\n",
      "增加了 446千卡路里\n",
      "\n",
      "我吃了二两 全麦面包\n",
      "增加了 470千卡路里\n",
      "\n",
      "我吃了二两 瘦猪肉\n",
      "增加了 286千卡路里\n",
      "\n",
      "我吃了二两 鸡翅\n",
      "增加了 388千卡路里\n",
      "\n",
      "我吃了二两 培根\n",
      "增加了 362千卡路里\n",
      "\n",
      "我吃了二两 火腿肠\n",
      "增加了 424千卡路里\n"
     ]
    }
   ],
   "source": [
    "food={  '小米粥':'45',\n",
    "        '粗粮馒头':'223',\n",
    "        '全麦面包':'235',\n",
    "        '瘦猪肉':'143',\n",
    "        '鸡翅':'194',\n",
    "        '培根':'181',\n",
    "        '火腿肠':'212',\n",
    "        }\n",
    "for word, meaning in food.items():\n",
    "    print(\"\\n我吃了二两 %s\" % word)\n",
    "    print(\"增加了 %d千卡路里\" % (2*int(meaning)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 运动和消耗\n",
    "常见三种运动的消耗热量表：  \n",
    "慢走 (一小时4公里) 255 卡  \n",
    "慢跑 (一小时9公里) 655 卡  \n",
    "羽毛球（一小时） 440 卡  \n",
    "\n",
    "模仿课件3-dict_set中的cell[9]做个刷题，直到答对而且答完为止。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "sports={'慢走 (一小时4公里)':'255 卡',\n",
    "        '慢跑 (一小时9公里)':'655 卡',\n",
    "        '羽毛球（一小时）':'440 卡',\n",
    "       }\n",
    "def  show_energies(sports):\n",
    "    display_message = \"\"\n",
    "    for word in sports.keys():\n",
    "        display_message += word + '  '\n",
    "    print(display_message)\n",
    "\n",
    "for meaning in sports.values():\n",
    "    print(\"\\n%s\" % meaning)\n",
    "    correct = False\n",
    "    while not correct:     \n",
    "        print(\"\\nWhich sports do you think this is?\")\n",
    "        show_energies(sports)\n",
    "        guessed_word = input(\"- \")    \n",
    "        if sports[guessed_word] == meaning:\n",
    "            print(\"You got it!\")\n",
    "            correct = True\n",
    "        else:\n",
    "            print(\"Sorry, that's just not the right answer.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dictionary: A collection of key-value pairs.\n",
      "Function: A named set of instructions that defines a set of actions in Python.\n",
      "List: A collection of values that are not connected, but have an order.\n"
     ]
    }
   ],
   "source": [
    "# 对dict来说，输出时不按任何顺序\n",
    "# 可以通过sorted()函数使结果有序输出\n",
    "python_words = {'list': 'A collection of values that are not connected, but have an order.',\n",
    "                'dictionary': 'A collection of key-value pairs.',\n",
    "                'function': 'A named set of instructions that defines a set of actions in Python.',\n",
    "                }\n",
    "\n",
    "for word in sorted(python_words.keys()):\n",
    "    print(\"%s: %s\" % (word.title(), python_words[word]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 江西最高山\n",
    "\n",
    "[江西最高的十座山]{http://jx.ifeng.com/a/20160628/4693979_0.shtml}\n",
    "\n",
    "请模仿上例，创建包含山名和海拔的dict，并按如下形式循环输出：  \n",
    "“黄岗山海拔2157.8米”"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "九岭头海拔1794m\n",
      "五虎岗海拔1891m\n",
      "军峰山海拔1760.9m\n",
      "南风面海拔2120.4m\n",
      "武功山金顶海拔1918.3m\n",
      "独竖尖海拔2128m\n",
      "玉京峰海拔1819.9m\n",
      "过风坳海拔1887m\n",
      "黄岗山海拔2157.8m\n",
      "齐云山海拔2061.3m\n"
     ]
    }
   ],
   "source": [
    " mountains={'军峰山':'1760.9m',\n",
    "            '九岭头':'1794m',\n",
    "            '玉京峰':'1819.9m',\n",
    "            '过风坳':'1887m',\n",
    "            '五虎岗':'1891m',\n",
    "            '武功山金顶':'1918.3m',\n",
    "            '齐云山':'2061.3m',\n",
    "            '南风面':'2120.4m',\n",
    "            '独竖尖':'2128m',\n",
    "            '黄岗山':'2157.8m',\n",
    "           }\n",
    "for word in sorted(mountains.keys()):\n",
    "    print(\"%s海拔%s\" % (word, mountains[word]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 为室友打一波广告\n",
    "请参照课件3-dict_set中的cell[15]“卖室友”吧。  \n",
    "第一层dict的key可自选，如身高、爱好、技能等等。\n",
    "并以以下形式循环输出：  \n",
    "我知道的XXX，TA:  \n",
    "身高：160  \n",
    "爱好：吸猫  \n",
    "技能：python  \n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "我知道的邵哥:\n",
      "身高: 173\n",
      "身高: 173\n",
      "技能: 学习\n",
      "\n",
      "我知道的刘哥:\n",
      "身高: 180\n",
      "身高: 180\n",
      "技能: 独立\n",
      "\n",
      "我知道的小张:\n",
      "身高: 172\n",
      "身高: 172\n",
      "技能: 数学\n"
     ]
    }
   ],
   "source": [
    "roommate={'邵哥':{'身高':'173','爱好':'看球赛','技能':'学习',},\n",
    "          '刘哥':{'身高':'180','爱好':'打游戏','技能':'独立',},\n",
    "          '小张':{'身高':'172','爱好':'打篮球','技能':'数学',},\n",
    "         }\n",
    "for roommate_name, roommate_information in roommate.items():\n",
    "    print(\"\\n我知道的%s:\" % roommate_name.title())\n",
    "    print(\"身高: \" + roommate_information['身高'])\n",
    "    print(\"身高: \" +roommate_information['身高'])\n",
    "    print(\"技能: \" + roommate_information['技能'])"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
